﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Iesi.Collections.Generic;
using System.Linq;
using System.Text;

namespace SEDomain.Entities
{
    public class NameplatePacking : Entity<NameplatePacking>
    {
        private Order _order;
        private Product _product;
        private readonly IList<NameplatePacingPrint> _nameplatePacingPrints;
        private string _lotNo;
        private string _packingRq;
        private string _rqRd;
        private string _rqPcsPerUnit;
        private string _rqUnitPerPack;
        private string _rqPcsOver;
        private string _inspectBy;
        private string _printNum;
        private User _user;
        private DateTime? _addDate;
        private string _status;


        public NameplatePacking() : this(null,null)
        {

        }
        public NameplatePacking(Order order,Product product)
        {
            _nameplatePacingPrints = new List<NameplatePacingPrint>();
            _order = new Order();
            _product = new Product();
           
        }
        public virtual ReadOnlyCollection<NameplatePacingPrint> NameplatePacingPrints
        {
            get { return new ReadOnlyCollection<NameplatePacingPrint>(_nameplatePacingPrints); }
        }

        public virtual Order Order
        {
            get { return _order; }
            set { _order = value; }
        }
        public virtual Product Product
        {
            get { return _product; }
            set { _product = value; }
        }
        public virtual string LotNo
        {
            get { return _lotNo; }
            set { _lotNo = value; }
        }
        public virtual string PackingRq
        {
            get { return _packingRq; }
            set { _packingRq = value; }
        }
        public virtual string RqRd
        {
            get { return _rqRd; }
            set { _rqRd = value; }
        }
        public virtual string RqPcsPerUnit
        {
            get { return _rqPcsPerUnit; }
            set { _rqPcsPerUnit = value; }
        }
        public virtual string RqUnitPerPack
        {
            get { return _rqUnitPerPack; }
            set { _rqUnitPerPack = value; }
        }
        public virtual string RqPcsOver
        {
            get { return _rqPcsOver; }
            set { _rqPcsOver = value; }
        }
        public virtual string InspectBy
        {
            get { return _inspectBy; }
            set { _inspectBy = value; }
        }
        public virtual string PrintNum
        {
            get { return _printNum; }
            set { _printNum = value; }
        }
        public virtual DateTime? AddDate
        {
            get { return _addDate; }
            set { _addDate = value; }
        }
        public virtual string Status
        {
            get { return _status; }
            set { _status = value; }
        }

        public virtual User User
        {
            get { return _user; }
            set { _user = value; }
        }
    }
}
